Cloud computing is the delivery of computing as a service rather than as a product, whereby shared resources, software, and information are provided to client devices (e.g., computers, smart phones, etc.) as a utility over a network, such as the Internet. Cloud computing environments provide computation, software, data access, and/or storage services that do not require end-user knowledge of a physical location and configuration of a system that delivers the services.
A data center is a facility used to house computer systems and associated components, such as telecommunication systems and storage systems. A data center generally includes redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning, fire suppression, etc.), and/or security devices. In one example, a data center may share information with a cloud computing environment that may be utilized by client devices.
A cloud device, in a cloud computing environment, may communicate traffic with other cloud devices, in the cloud computing environment or in other cloud computing environments, via a centralized forwarding and/or switching device, such as a router. However, the centralized forwarding/switching device may become a bottleneck when traffic communicated among the cloud devices increases to a certain level.
Furthermore, a cloud device may utilize a virtual machine (VM) that includes a software implementation of a machine (e.g., a computer) for executing a program like a physical machine. In one example, the virtual machine may utilize one or two ports to communicate traffic with other cloud devices. However, the port(s) may have a limited bandwidth, where half of the bandwidth may be used for ingress traffic and the other half of the bandwidth may be used for egress traffic. The limited bandwidth may become a bottleneck when traffic communicated among the cloud devices increases to a certain level.